<?php

/**
 * @Author: wuchenge
 * @Date:   2021-12-10 18:00:37
 * @Email: ligui0506@126.com
 * @Descript:
 */
namespace App\Models;

use App\Models\Model;
use DB;

class Admin extends Model
{
    /**
     * @var string
     */
    protected $table = 'admins';
    /**
     * @var array
     */
    protected $guarded = ['id', 'created_at', 'updated_at'];
    /**
     * @var array
     */
    protected $fillable = ['username', 'pwd', 'nick_name', 'status'];

    /**
     * @param $id
     */
    public static function getWithInfoById($id)
    {
        return self::find($id);
    }

    /**
     * 新增管理员
     * @param  [type] $data [description]
     * @return [type]       [description]
     */
    public static function store($data)
    {
        // 开启一个数据库事务
        return DB::transaction(function () use ($data) {
            $admin = self::create($data);

            return $admin;
        });
    }

    /**
     * @param $id
     */
    public static function isSupper($id)
    {
        return in_array($id, [1]);
    }

    /**
     * 修改管理员
     * @param  [type] $data [description]
     * @return [type]       [description]
     */
    public static function modify($data)
    {
        // 开启一个数据库事务
        $admin = DB::transaction(function () use ($data) {
            $id    = $data['id'] ?? 0;
            $admin = self::find($id);
            if (!$admin) {
                return false;
            }

            $admin->fill($data)->save();
            return $admin;
        });

        return $admin;
    }

    /**
     * @param $ids
     * @return mixed
     */
    public static function del($id)
    {
        // 开启一个数据库事务
        $res = DB::transaction(function () use ($id) {
            $model = self::where('id', $id)->delete();

            return true;
        });

        return $res;
    }
}
